<?php
class category_widget extends WP_Widget {
 
	function __construct() {
		parent::__construct(
		// ID widget của bạn
		'category_widget',
		 
		// Tên widget sẽ xuất hiện trong giao diện người dùng
		__('Thể loại Widget', 'category_widget_domain'),
		 
		// Miêu tả của widget
		array( 'description' => __( 'Hiện danh sách các thể loại ảnh hiện có', 'category_widget_domain' ), )
		);
	}
	 
	// Xuất dữ liệu ra bên ngoài widget
	public function widget( $args, $instance ) {
		$title = apply_filters( 'widget_title', $instance['title'] );
		echo $args['before_widget'];
		if ( ! empty( $title ) )
		echo $args['before_title'] . $title . $args['after_title'];
		 
		// Đây là nơi chạy code và hiển thị ra vị trí widget của bạn (ở đây sẽ hiển thị dòng "Hello, World!")
		$categories= $this->get_categories();
		foreach ($categories as $key => $category) {
			$active='';
			if(isset($_GET['category_id']) && $_GET['category_id']==$category->id)
			{
			$active ='class="category_active"';
			?>
				<style type="text/css">
					.category_active
						{
							font-weight: bold;
							color: yellow !important;
						}
				</style>
				<?php
			}
	?>
		<li><a <?php echo $active; ?> href="<?php echo get_page_link(198).'&category_id='.$category->id; ?>"><?php echo $category->category_name; ?></a></li>
		
	<?php
		}	
		echo $args['after_widget'];
	}
	 
	// Tạo form option cho widget
	public function form( $instance ) {
		if ( isset( $instance[ 'title' ] ) ) {
			$title = $instance[ 'title' ];
		}
		else {
			$title = __( 'Thể loại', 'category_widget_domain' );
		}
			// Tạo form widget
		?>
		<p>
			<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Tiêu đề:' ); ?></label>
			<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
		</p>
	<?php
	}
	 
	// Lưu dữ liệu khi đã nhập vào widget
	public function update( $new_instance, $old_instance ) {
		$instance = array();
		$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
		return $instance;
	}
	  public function get_categories() {
	    global $wpdb;
	    $rows = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "categories");
	    return $rows;
	  }
	  public function get_album_category($album_id) {
	    global $wpdb;
	    $rows = $wpdb->get_results($wpdb->prepare("SELECT * FROM " . $wpdb->prefix . "categories as categories, " . $wpdb->prefix . "album_category as album_category WHERE categories.id=album_category.category_id AND album_id=%d ",$album_id));
	    return $rows;
	  }
}